Introduction — On The Road To X

On 11 May 1998, at Apple's Worldwide Developers Conference, interim CEO Steve Jobs presented the opening keynote speech, in which he outlined the company's plans for the future development of the Macintosh Operating System. Formerly a dual-OS strategy consisting of the Mac OS and Rhapsody, Apple's plans now point to a convergence of the two in Mac OS X ("ten"). Mac OS X promises the advanced features of a modern OS, while providing compatibility with current Mac applications and retaining the Mac OS's ease of use.

For a better understanding of this destination and a greater familiarity with the path we'll follow to get there, let's consult our roadmap. This timeline shows what's ahead for our system software.

Mac OS 8.5 — Q3, 1998
Mac OS 8.6 — Q1, 1999
Mac OS 9.0 — Q3, 1999

Mac OS 8.5 (Allegro) is due in the third quarter of 1998, probably in September. Mac OS 8.6 (an update to Allegro) is due in the first quarter of 1999. Mac OS 9.0 (Sonata) is due in the third quarter of 1999.

Rhapsody CR-1 — Q3, 1998
Mac OS X Beta — Q1, 1999
Mac OS X Release — Q3, 1999

The first customer release of Rhapsody is scheduled for roughly the same time frame as Allegro. A beta version of Mac OS X is due around the same time as Mac OS 8.6. Mac OS X is due in the Fall of 1999, when Sonata will also be released.

The Shape of Operating Systems to Come

Allegro (8.5)
September 1998 will see the release of Mac OS 8.5, known by the code name "Allegro." Allegro refines and extends Mac OS 8 and 8.1 in a variety of ways, many of which blend in functionality previously provided by third-party control panels. For instance, the Appearance control panel now lets you customize how your Mac looks with 3 pre-made Themes (Apple Platinum, Hi-Tech, and Gizmo), and supports third-party appearance files. This is similar to what "Kaleidoscope" does. This new Appearance control panel also lets you assign sounds to certain actions (like "Sounds4Fun," "Kaboom," and other control panels), and even allows you to have animated icons (like "Kineticon"). Some may note that Windows has had support for some of these features for some time now. Navigation services have been enhanced, including an item in the File menu to "bookmark" specific folders in Open and Save dialogs (much like "Default Folder" and "ACTION Files"). And finally, Allegro features more PowerPC-native code, including a PPC-native AppleScript. Nearly all of the 68K code has been removed from the OS, so users can expect noticeable improvements in speed. Alpha releases have thus far confirmed the speed issue.

Rhapsody CR 1
The first customer release of Rhapsody will also see the light of day in September. Built atop the Mach kernel and utilizing the technology Apple acquired from NeXT's OpenStep operating system, Rhapsody is being positioned more as an OS for high-end servers and developers than as a choice for the average Mac user. For more on Rhapsody, please see the feature article "Building Rhapsody" by Alex Fernandez in the May 1998 issue of Apple Wizards.

Mac OS 8.6
Little information is currently known about this update due in the first quarter of 1999, except that it will update Mac OS 8.5 in much the same way that 8.1 updated Mac OS 8: it's to be a small, incremental update containing bug fixes for improved stability, rather than adding any exciting new features. And like 8.1, it will probably be available as a free download.

Sonata
Sonata, Mac OS 9, is scheduled for release in the third quarter of 1999. As it currently stands, Sonata appears to be geared toward Macs which won't be able to run Mac OS X. However, with the addition of new libraries, Macs running Sonata will be able to use applications written for Mac OS X (see below). According to MacKiDo's David Every, it's rumored that Sonata might have the Mach kernel underneath, but this should be considered highly speculative.

Mac OS X

Scheduled to ship in the Fall of 1999, Mac OS X (ten) delivers the benefits of a "modern" operating system, while retaining and enhancing the current Mac OS user experience and maintaining compatibility with today's applications. Chief among the benefits of a "modern" OS are preemptive multitasking and protected memory. 

Preemptive multitasking greatly improves the system's ability to have several processes running simultaneously. Preemptive multitasking shields programs and OS components from each other and lets them reliably execute at the same time without interfering with each other. As an example, a QuickTime movie will continue to run uninterrupted in the background while you're pulling down a menu or launching your browser. 

Protected memory addresses will bring new stability to the system. Each application will run in its own isolated space in RAM. If an application does start misbehaving, it will not be able to take down other applications or the operating system. The stability provided by protected memory will make our Macs virtually immune to freezes and crashes!

We should note that while Mac OS X is optimized for the G3 processor and its descendants, it will most likely run on all PCI PowerMacs — however, older NuBus PowerPCs (like my beloved Performa 6205) and 68K Macs will probably not be supported. Mac OS X will be 100% PowerPC native; all the old 68K code will  have been removed.

How will Mac OS X deliver these modern features while remaining backward-compatible? In a word: Carbon.

Carbon

In his WWDC keynote, Steve Jobs joked that they're calling it Carbon because "all life is based on it." Indeed, in the future all Mac applications will be based on Carbon. 

Applications work by making calls to what developers call the Mac "Toolbox," a fundamental part of the operating system which resides in the ROM chips inside your computer. Groups of related calls are known as APIs (Application Programming Interfaces). A call to the Mac Toolbox returns a Toolbox routine. There are currently about 8,000 of these calls. To create Carbon, Apple is weeding out approximately 2,000 "bad" calls and adding some new ones to replace the functionality of the ones that were excised. In this way, Carbon applications will be able to take advantage of Mac OS X's  desirable modern features, including protected memory and preemptive multitasking. 

APIs are considered "bad" if they cause instability in the system, or if their inclusion would have prevented utilizing the "modern" OS features. The criterion used in the weeding out process was whether or not these APIs were reentrant. Reentrant code means that when local data is created in an API by one application, another app can come along and reenter that API with its own copy of local data. Then, when the original application resumes, it continues to run without its local data having been stepped on. So, if an API was reentrant, it was kept; if not, it was cut.

Some of the APIs that have been removed were for technologies which never gained widespread adoption, such as QuickDraw GX and the MIDI Manager. Other APIs are being dropped because they have been replaced with an equivalent. For example, Open Transport supplants all earlier Mac OS programming interfaces for networking and communication services; Carbon does not support the AppleTalk manager or MacTCP, so applications which use those APIs will have to be re-written using Open Transport. Another example: old sound calls based on the Vertical Retrace Manager have already been replaced by newer Sound calls and QuickTime.

Software developers will appreciate Carbon because they don't have to re-write their programs from scratch; according to Apple, most of today's applications are already 90% Carbon-compatible, so the time and effort involved to "tune up" applications should be minimal. But even if an application isn't tuned up, it will still run under Mac OS X; it just won't be able to take advantage of the "modern" features. And Carbon applications will work on Mac OS 8 and 9 after compatibility libraries have been added, requiring only that they be re-compiled by the developer.

If you'd like more information about Carbon, you can read Apple's white paper "Transitioning To Mac OS X," available in PDF format from http://developer.apple.com/macosx/ . 

X Marks the Spot

The following diagram illustrates how similar Mac OS X is to Rhapsody as well as how, schematically, OS X will be constructed.

In fact, the only significant differences between Mac OS X and Rhapsody are the Carbon APIs, shown here in green, and the transparency of the so-called "Blue Box." Whereas Rhapsody will run older Mac applications from within a separate window or screen, Mac OS X makes this Blue Box completely invisible, so Blue apps will share the same desktop environment as all the other applications; this is part of the "New User Experience" in the diagram.

Meanwhile, Rhapsody will continue to exist as a separate entity as part of Apple's server product line. Rhapsody's cross-platform development tools (known as the Yellow Box APIs) will allow programmers to develop simulataneously for the Mac, Windows 95/98 and NT, and other platforms.

Closing the Windows

As Steve Jobs put it, with this plan it's "a little evolution for a lot of revolution." Apple's OS strategy promises an exciting future for the Mac. The stability of protected memory, the speed of preemptive multitasking, and the compatibility provided by the Carbon APIs will converge in Mac OS X, taking the Mac user experience forward into the next century.

Special thanks to Jorg Brown of Connectix for the initial version of the schematic, and to David K. Every of the MacKiDo Temple http://www.MacKiDo.com/ for his invaluable assistance in the writing of this article.

        Brian Kelley
          brian@applewizards.net

   

                                             http://applewizards.net/